Описание
Задает или возвращает значение, указывающее, является ли пустая
строка ("") допустимым значением свойства Value объекта Field с
типом данных Text или Memo.
Значение
Задаваемое или возвращаемое значение, имеющее тип данных
Boolean, показывает, является ли пустые строки допустимым. Свойство имеет
значение True, если в объекте Field допускаются пустые строки в
качестве значения свойства Value; значением по умолчанию является
False.
Замечания
Для объекта, еще не добавленного в семейство Fields,
данное свойство доступно для чтения/записи.
После добавления в семейство
Fields доступность свойства AllowZeroLength зависит от объекта, в
котором содержится семейств Fields, как показано в следующей таблице.
Index Не поддерживается QueryDef Только чтение Recordset Только чтение Relation Не поддерживается TableDef Чтение/запись
Данное свойство используют вместе со свойствами Required, ValidateOnSet или ValidationRule для указания условий на значение поля.
Пример
В следующей программе свойство AllowZeroLength позволяет
пользователю задать для поля значение пустой строки. Это позволяет различать
записи с неизвестными данными и записи, для которых отсутствуют допустимые
данные.
Sub AllowZeroLengthX()
Dim dbsNorthwind As Database
Dim tdfEmployees As TableDef
Dim fldTemp As Field
Dim rstEmployees As Recordset
Dim strMessage As String
Dim strInput As String
Set dbsNorthwind = OpenDatabase("Борей.mdb")
Set tdfEmployees = dbsNorthwind.TableDefs("Сотрудники")
' Создает новый объект Field и добавляет его в семейство
' Fields таблицы "Сотрудники".
Set fldTemp = tdfEmployees.CreateField("ФаксТел", dbText, 24)
fldTemp.AllowZeroLength = True
tdfEmployees.Fields.Append fldTemp
Set rstEmployees = dbsNorthwind.OpenRecordset("Сотрудники")
With rstEmployees
' Принимает данные от пользователя.
.Edit
strMessage = "Введите номер факса для " & !Имя & " " & !Фамилия & "." & vbCr & _
"[? - неизвестен, X - нет факса]"
strInput = UCase(InputBox(strMessage))
If strInput <> "" Then
Select Case strInput
Case "?"
!ФаксТел = Null
Case "X"
!ФаксТел = ""
Case Else
!ФаксТел = strInput
End Select
.Update
' Печатает отчет.
Debug.Print "Имя - Факс"
Debug.Print !Имя & " " & !Фамилия & " - ";
If IsNull(!ФаксТел) Then
Debug.Print "[Неизвестен]"
Else
If !ФаксТел = "" Then
Debug.Print "[Нет факса]"
Else
Debug.Print !ФаксТел
End If
End If
Else
.CancelUpdate
End If
.Close
End With
' Удаляет новое поле, созданное только для демонстрации.
tdfEmployees.Fields.Delete fldTemp.Name
dbsNorthwind.Close
End Sub